A Proof of Strong Normalization for Call-by-push-value

نویسندگان

  • Christian Doczkal
  • Jan Schwinghammer
چکیده

The call-by-push-value (CBPV) calculus is a general framework within which one can study computational effects such as state, nondeterminism, and input/output. Compared to the simply typed lambda calculus, the CBPV type system is much more finegrained and distinguishes between value and computation types. We give a self-contained proof of strong normalization for CBPV, employing a notion of >>-closure to adapt the Girard-Tait method to CBPV computation types.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Uniform Strong Normalization for Multi-Discipline Calculi

Modern programming languages have effects and mix multiple calling conventions, and their core calculi should too. We characterize calling conventions by their “substitution discipline” that says what variables stand for, and design calculi for mixing disciplines in a single program. Building on variations of the reducibility candidates method, including biorthogonality and symmetric candidates...

متن کامل

Strong Normalization of λμμ̃-Calculus with Explicit Substitutions

The λμμ̃-calculus, defined by Curien and Herbelin [7], is a variant of the λμ-calculus that exhibits symmetries such as term/context and call-by-name/call-by-value. Since it is a symmetric, and hence a non-deterministic calculus, usual proof techniques of normalization needs some adjustments to be made to work in this setting. Here we prove the strong normalization (SN) of simply typed λμμ̃-calcu...

متن کامل

Strong normalization proofs by CPS-translations

In this paper, we propose a new proof method for strong normalization of calculi with control operators, and, by this method, we prove strong normalization of the system λμ→∧∨⊥ , which is introduced in [3] by de Groote and corresponds to the classical natural deduction with disjunctions and permutative conversions by the Curry-Howard isomorphism. For our method, we introduce a new CPS-translati...

متن کامل

Call-by-Value and Call-by-Name Dual Calculi with Inductive and Coinductive Types

This paper extends the dual calculus with inductive types and coinductive types. The paper first introduces a non-deterministic dual calculus with inductive and coinductive types. Besides the same duality of the original dual calculus, it has the duality of inductive and coinductive types, that is, the duality of terms and coterms for inductive and coinductive types, and the duality of their re...

متن کامل

Adjunction Models For Call-By-Push-Value With Stacks

Call-by-push-value is a ”semantic machine code”, providing a set of simple primitives from which both the call-by-value and call-by-name paradigms are built. We present its operational semantics as a stack machine, suggesting a term judgement of stacks. We then see that CBPV, incorporating these stack terms, has a simple categorical semantics based on an adjunction between values and stacks. Th...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2007